/*
 * To change this template, choose Tools | Templates
 * and open the template in the editor.
 */
package sirafia_clases;

/**
 *Clase que permite dar un mensaje a los errore producidos por la clase SQLException
 * para la clase Exception simplemente se reenvia el texto producido
 * @author Sonia García
 */
public class ClasificadorMsjExcepciones {
/**
 * Método que contiene el case con las opciones de códigos de error soportados por la aplicación
 * @param msj
 * @param codcase
 * @return
 */
    public static String verMensaje(String msj, int codcase) {
        String msg = msj;
        switch (codcase) {
            case 0:
                msg = "Datos Ingresados no válidos";
                break;
            case 1292:
                msg = "El tipo de datos que intenta ingresar no coinciden con los requeridos";
                break;
            case 1293:
                msg = "Definición incorrecta de tabla, Solamente debe haber una columna TIMESTAMP con CURRENT_TIMESTAMP en DEFAULT o ON UPDATE cláusula";
                break;
            case 1294:
                msg = "No se puede actualizar el campo requerido";
                break;
            case 1295:
                msg = "Este comando no es compatible";
                break;
            case 1300:
                msg = "Cadena de caracteres no válida";
                break;
            case 1301:
                msg = "El resultado fue truncado ya que el paquete es más grande que el valor soportado";
                break;
            case 1302:
                msg = "Se presentento un conflicto en las declaraciones";
                break;
            case 1303:
                msg = "No puedo crear el elemento desde otra rutina de almacenamiento";
                break;
            case 1304:
                msg = " El elemento ya existe en la base de datos";
                break;
            case 1305:
                msg = "El elemento no existe en la base de datos";
                break;
            case 1306:
                msg = "El elemento no se pudo eliminar";
                break;
            case 1307:
                msg = "El elemento no pudo ser creado";
                break;
            case 1308:
                msg = "El elemento no posee la etiqueta correspondiente";
                break;
            case 1309:
                msg = "Error en la redefinición de la etiqueta";
                break;
            case 1310:
                msg = "El final de la etiqueta no coincide";
                break;
            case 1311:
                msg = "Error al inicializar variable";
                break;
            case 1312:
                msg = "El procedimiento no puede devolver un conjunto de resultados en el contexto dado";
                break;
            case 1317:
                msg = "La ejecución de la consulta fue interrumpida";
                break;
            case 1318:
                msg = "Número incorrecto de argumentos";
                break;
            case 1319:
                msg = "Condición no definida";
                break;
            case 1320:
                msg = "No existe un valor de retorno en la función";
                break;
            case 1321:
                msg = "La función se termino sin retorno";
                break;
            case 1322:
                msg = "La declaración del Cursor debe ser un Select";
                break;
            case 1323:
                msg = "no debe haber un INTO en el Select del Cursor";
                break;
            case 1324:
                msg = "Cursor no definido";
                break;
            case 1325:
                msg = "El Cursor ya está abierto";
                break;
            case 1326:
                msg = "El Cursor no está abierto";
                break;
            case 1327:
                msg = "Variable no declarada";
                break;
            case 1328:
                msg = "Número incorrecto de variables FETCH";
                break;
            case 1329:
                msg = "No hay datos; cero filas recuperadas, seleccionados, ó procesadas";
                break;
            case 1330:
                msg = "Parámetros duplicados";
                break;
            case 1331:
                msg = "Variable duplicada";
                break;
            case 1332:
                msg = "Condición duplicada";
                break;
            case 1333:
                msg = "Cursor duplicado";
                break;
            case 1334:
                msg = "Elemento no alterado";
                break;
            case 1335:
                msg = "El valor de subselección no es compatible";
                break;
            case 1336:
                msg = "El elemento no está permitido en procedimiento almacenado ó un desencadenador";
                break;
            case 1337:
                msg = "Variable o condición de la declarada después de la declaración del controlador del cursor";
                break;
            case 1338:
                msg = "Declaración del cursor después de la declaración del controlador";
                break;
            case 1339:
                msg = "Caso no encontrado para sentencia CASE";
                break;
            case 1340:
                msg = "la configuración del archivo es demasiado grande";
                break;
            case 1341:
                msg = "Archivo con formato incorrecto en el tipo de cabecera";
                break;
            case 1342:
                msg = "Fin de archivo inesperado";
                break;
            case 1343:
                msg = "Error mientras se convertia el parámetro";
                break;
            case 1344:
                msg = "Error de archivo inesperado mientras se omitia un parámetro desconocido";
                break;
            case 1345:
                msg = "Exponer/mostrar no puede ser utilizado, ya que carece de privilegios de la tabla subyacente";
                break;
            case 1346:
                msg = "El arcivo tienen un tipo desconocido en su cabecera";
                break;
            case 1348:
                msg = "La columna no es actualizable";
                break;
            case 1349:
                msg = "La vista contienen una subconsulta en la clausula Select";
                break;
            case 1350:
                msg = "La vista contienen un elemento no permitido en la clausula Select";
                break;
            case 1351:
                msg = "La vista no puede contener variables o parámetros en la clausula Select";
                break;
            case 1352:
                msg = "La selección de la vista se refiere a una tabla temporal";
                break;
            case 1353:
                msg = "La clausula Select en la vista, cuanta con una lista de campos que tienen diferente número de columnas ";
                break;
            case 1354:
                msg = "algoritmo de fusión no se puede utilizar en esta vista";
                break;
            case 1355:
                msg = "la vista no puede ser actualizada ya que no cuenta con una llave completa de la tabla subyacente en ella";
                break;
            case 1356:
                msg = "La vista posee referencias inválidas a tablas, ó columnas,funciones ó definidores invocados con ausencia de derechos para utilizarlos";
                break;
            case 1357:
                msg = "No se puede alterar o eliminar desde otro procedimiento almacenado";
                break;
            case 1358:
                msg = "GOTO no se permite en un controlador de procedimiento almacenado";
                break;
            case 1359:
                msg = "El Trigger ya existe en la base de datos";
                break;
            case 1360:
                msg = "El Trigger No existe en la base de datos";
                break;
            case 1361:
                msg = "El Trigger no puede asignarse a una vista o tabla temporal";
                break;
            case 1362:
                msg = "Actualización de filas no está permitido en un Trigger";
                break;
            case 1363:
                msg = "No hay filas en el Trigger";
                break;
            case 1364:
                msg = "El campo no tiene un valor por defecto";
                break;
            case 1365:
                msg = "División por cero";
                break;
            case 1366:
                msg = "Valor incorrecto para la columna";
                break;
            case 1367:
                msg = "Valor ilegal encontrado durante el análisis";
                break;
            case 1406:
                msg = "El dato ingresado es demasiado largo para la columna";
                break;
            case 1411:
                msg = "Valor incorrecto para la función";
                break;
            case 1412:
                msg = "La definición de la tabla ha cambiado por favor intente la transacción de nuevo";
                break;
            case 1441:
                msg = "Desbordamiento en la función Fecha y Hora";
                break;
            case 1442:
                msg = "Los datos no pueden ser almacenados debido a un error";
                break;
            default:
                msg = "Error: #" + Integer.toString(codcase) + ", " + msg;
                break;
        }
        return msg;
    }
}
